#pragma once

#include <string>
#include <map>

#include "Uniform.h"

namespace Renderer
{
	class UniformCollection
	{
	public:
		UniformCollection();

		~UniformCollection();

		std::string GetKeyFroItem(Uniform* item);

		std::map<std::string, Uniform*> GetCollection() const;

		Uniform* Get(const std::string key);

		void Add(Uniform* item);

		void SetByKey(const std::string key, Uniform* uniform);

	protected:
	private:
		std::map<std::string, Uniform*> m_pCollection;
	};
}
